home *** CD-ROM | disk | FTP | other *** search
/ BBS Toolkit / BBS Toolkit.iso / qbbs / raff_106.zip / RAFF.DOC < prev    next >
Text File  |  1992-06-15  |  25KB  |  564 lines

  1.  
  2.                RAFF - Remote Access File Find
  3.                 Version 1.00
  4.  
  5.           The Combined Files/Newfiles/Search Lister
  6.             for RemoteAccess and SuperBBS
  7.  
  8.                (c) 1992 M.Schnitkemper
  9.                 Postbox 7462
  10.                    W-4400 Münster
  11.  
  12.  
  13.  
  14. ┌────────────────────────────────────────────────────────────────────────────┐
  15. │                              Introduction                                  │
  16. └────────────────────────────────────────────────────────────────────────────┘
  17.  
  18. Hi folks,
  19. First of all I should say that  I hate to write documentations. On the  result
  20. you got only a  short description of RAFF  along with the program  as I assume
  21. that  you  are  an  experienced  system  operator  and know how to install any
  22. external door at your BBS.
  23.  
  24. This  application  is  designed  to  run  under  RemoteAccess or SuperBBS as a
  25. replacement for menu types  31, 35, 36 and  37. It maybe useful  for those who
  26. have  serious  problems  to  run   "the  other"  utility  under  a   multinode
  27. environment.
  28.  
  29. RAFF provides you with the following features:
  30.  
  31. ■ Easy installation
  32.  
  33. ■ Local/global filearea access mode
  34.  
  35. ■ Change filearea without leaving RAFF
  36.  
  37. ■ Searching options for filenames, keywords, newfiles or date
  38.  
  39. ■ Full support for read/only media such as CDROM disk
  40.  
  41. ■ Includes processing of the  special FILES.BBS format, introduced by  the EFT
  42.   filetransfer manager
  43.  
  44. ■ Respecting all settings of the environment such as security level and flags
  45.  
  46. ■ SysOp defined supportfiles
  47.  
  48. ■ Multiline/Multitask and network aware
  49.  
  50. ■ All informations are retrieved from existing files, no files are created  or
  51.   modified in any way
  52.  
  53. ■ Own ANSI emulation driver included. Supports all colour and positioning
  54.   commands
  55.  
  56. ■ The usage of RAFF is (still) free of charge!
  57.  
  58.  
  59.  
  60. ┌────────────────────────────────────────────────────────────────────────────┐
  61. │                             The Installation                               │
  62. └────────────────────────────────────────────────────────────────────────────┘
  63.  
  64. The installation is quite easy,  no special procedures or configuration  files
  65. are needed. First you have to  create a type7 menu entry and  place "RAFF.EXE"
  66. into your system  directory. Note that  your environment variable  "RA" (SBBS:
  67. "SBBS") must point to this path. At least, you have to set the "/A"-switch  to
  68. tell RAFF  the path  of the  current filearea.  Depending on  the BBS  you are
  69. operating,  there  are  to  different  kind  of  settings:  Use  "/A*0"  for a
  70. RemoteAccess- or "/A*U" for a SuperBBS installation.
  71.  
  72. You can use one or more of the following switches on the commandline:
  73.  
  74.     /A      Path to current filearea
  75.     /D      Debug mode
  76.     /G      Global mode at start
  77.     /K      New definition of keys
  78.     /S      Startup key
  79.  
  80. Refer the section  "Switches" for a  detailed description of  all switches and
  81. their parameters.
  82.  
  83. If you are  working with a  R/O medium like  a CDROM drive,  you may be change
  84. your  filearea  configuration,  depending  on  the  usage  of  the  EFT styled
  85. FILES.nnn. If you prefer the standard handling, supported by RA/SBBS you  must
  86. change  nothing.  RAFF  will  self  detect  the  associated  FILES.nnn  in the
  87. listpath, defined in  "CONFIG.RA" (SBBS: Entry  in "FLSEARCH.BBS"). Since  the
  88. EFT styled  FILES.nnn contains  additional informations  such as  path to  the
  89. filearea, date  and size  of the  file, there  is no  need to access the CDROM
  90. drive. In  this case  you -must-  change the  path entry  in "FILES.RA" (SBBS:
  91. "FLSEARCH.BBS")  to  "~nnn",  where  the  new introduced leading character "~"
  92. indicates  that  this  is  not  a  normal  path  and  nnn is the number of the
  93. filearea.  There  is  no  other  way  to  tell  RAFF  the  path of the current
  94. filearea.  Example:   "~150"  means  that   the  listfile  for  area  150   is
  95. "FILES.150"  and  resides  in  the  common  listpath.  Warning: You should not
  96. define a  real path  with a  leading "~",  if you  have already  one rename it
  97. before using this option.  In case of a  wrong defintion, RAFF cannot  display
  98. files  if  the  user  is  in  local  mode  on  a  CDROM  filearea.  For a full
  99. description of FILES.nnn refer your EFT documentation.
  100.  
  101. RAFF displays a standard  menu unless you create  your own menu display  file.
  102. If  you  prefer  to  use  your  own  menu,  you  have  to edit two files named
  103. "RAFF.ANS" and "RAFF.ASC" and place them into your common textpath. This  file
  104. will  be  display  as  the  menu  to  your  users.  If RAFF cannot locate this
  105. supportfile,  a  builtin  standard  menu  will  be  displayed.  There are some
  106. controlcodes  to  use  inside  the  support  files, refer the section "Control
  107. Codes" for a summary of all controlcodes used so far.
  108.  
  109. All supportfiles should not exceed the size of 32k after the controlcodes  are
  110. substituted.
  111.  
  112. The  attributes  of  colours  are  taken  from  "CONFIG.RA",  if  you  use the
  113. hardcoded menu. Run  "RACONFIG" to change  the colours: "Text"  is assigned to
  114. the  lowlight  colour  and   "Highlight"  to  the  highlight  colour  in RAFF.
  115. Background  colours  are  always  set  to  black, regardless of the setting in
  116. "CONFIG.RA".
  117.  
  118. All menus are  self explained, but  you can give  your users additional  help.
  119. Create two files named "RAFF_HLP.ANS" and "RAFF_HLP.ASC" for this purpose.  If
  120. RAFF cannot locate this supportfile, the menu item "Help" is not available.
  121.  
  122. Example are included inside the archive.
  123.  
  124.  
  125.  
  126. ┌────────────────────────────────────────────────────────────────────────────┐
  127. │                                Operations                                  │
  128. └────────────────────────────────────────────────────────────────────────────┘
  129.  
  130. The  following  description  assumes  that  you  are  using the standard keys.
  131. After calling RAFF you will see a menu with eight items:
  132.  
  133.     <A>  Area Access:  With this option it  is possible to toggle  between
  134.          the global and  the local mode.  Local means that  all operations
  135.          are  only  performed  on  the  current  filearea, the global mode
  136.          spans all user accessible  fileareas. RAFF always start  in local
  137.          mode, unless  you have  set the  "/G"-switch on  the commandline.
  138.          The  current  state  will  be  displayed in highlight colour, the
  139.          alternate option is displayed in brackets. You can simply  switch
  140.          between these options by pressing the "A"-key.
  141.  
  142.     <C>  Change Filearea:  This  option works similar to the menu  type 50
  143.          (Select  Area,  SBBS:  69).  It  allows  the  user  to change the
  144.          filearea without leaving RAFF.  The selection menu respect  users
  145.          restrictions so  he can  never select  an area  he has'nt  access
  146.          too. Note that the choosen area will not remain if he returns  to
  147.          the BBS, it is only valid during the current session of RAFF.
  148.  
  149.     <F>  Filename: Searching for  a filename specification. You can  enter
  150.          any valid  filename or  a part  of it.  Wildcards (*  and ?)  are
  151.          allowed.
  152.  
  153.     <K>  Keyword:  Searching   into  the  filedescriptions  for  a   given
  154.          keyword.  The  search  is  case  insensitive.  You  can enter the
  155.          keyword(s) in upper-, lower- or mixed case.
  156.  
  157.     <D>  Date: All files with a creation date on or before the given  date
  158.          will be displayed.  The format of  date will be  checked, so your
  159.          user  will  be  prompted  until  she/he  entered  a  valid   date
  160.          specification.
  161.  
  162.     <N>  New  files check: Same  as above, but  the examined date  will be
  163.          the last date the user was on.
  164.  
  165.     <->  Back to the BBS, terminates the current session of RAFF
  166.  
  167.     <?>  Displays the helpfile "RAFF.A??" if available. If not, this  item
  168.          is not displayed.
  169.  
  170. With the  "/K"-switch on  the commandline  you can  change the key assignment.
  171. The "/S"-switch simulate the first  keystroke, i. e. "/SN" on  the commandline
  172. will start RAFF and show the newfiles as the first action.
  173.  
  174.  
  175.  
  176. ┌────────────────────────────────────────────────────────────────────────────┐
  177. │                            Available Switches                              │
  178. └────────────────────────────────────────────────────────────────────────────┘
  179.  
  180. This is the summary of all commandline switches currently supported:
  181.  
  182. Switch  Usage                                   Example
  183. ------- --------------------------------------- ------------------------
  184. /A      Pass the current area through RAFF      /A *0 for RemoteAccess
  185.                         /A *U for SuperBBS
  186.  
  187. /C      Name of the configuration file          /C RAFF.CFG
  188.     !Reserved for future use, currently
  189.     not supported!
  190.  
  191. /D      Debugging: Display runtime error        -none-
  192.     and the address where it occurs
  193.     Danger: Waits for a keystroke!
  194.     (will be removed after testing
  195.      without notification)
  196.  
  197. /G      Start in global mode
  198.  
  199. /K      Replace the hard-coded keys             /K ACFKNDBH: New Key
  200.                                  setting
  201.     ACFKND-?
  202.     ^^^^^^^^
  203.     ││││││││
  204.     │││││││└───── Help
  205.     ││││││└────── Back
  206.     │││││└─────── Date
  207.     ││││└──────── NewFiles
  208.     │││└───────── KeyWord
  209.     ││└────────── Filename
  210.     │└─────────── Change
  211.     └──────────── AreaAccess
  212.  
  213.     You must set all eight keys even if
  214.     you want to change only some of them.
  215.     The standard keys are used if the number
  216.     of given keys are wrong. Take care to
  217.     define every key only once!
  218.  
  219. /T    Calculates the approximate transfer     -none-
  220.     time for the connected speed. The
  221.     calculation is based on a protocol
  222.     effiency of 98%, this should be a good
  223.     average value for a protocol like
  224.     ZModem, MPt, BiModem or HS/Link. If an
  225.     old fashioned protocol like XModem is
  226.     used, the transfertime will be raised.
  227.     On the other hand, for a error
  228.     correcting link like MNP or LAP/M the
  229.     transfertime will be decreased of
  230.     around 17%. This should only help your
  231.     users to calculate the transfertime in
  232.     advance and cannot be correct at any
  233.     time.
  234.  
  235.  
  236. /S      Startup Key(s): Starts the application  /S N:  Immediate search
  237.     first time with the given key(s)               for new files
  238.     Two keys are possible. The pipe symbol
  239.     ("|") will be translated to a <Return>
  240.     and is only useful in combination with
  241.     the "F"-operand.
  242.                         /S F|: Immediate search
  243.                                for all files
  244.  
  245. One or more of the switches listed above may be set on the commandline.
  246.  
  247.  
  248.  
  249. ┌────────────────────────────────────────────────────────────────────────────┐
  250. │                          Supported Control Codes                           │
  251. └────────────────────────────────────────────────────────────────────────────┘
  252.  
  253. The following  control codes  are available  in all  support files  (currently
  254. HelpScreen and TopMenu):
  255.  
  256. The ^K codes available:
  257.  
  258. ASCII   Char.   Function description
  259. ------- ------- -------------------------------------------------------------
  260. 11 52   ^K4     Name of the current filearea
  261. 11 79   ^KO     Number of minutes remaining this call
  262. 11 82   ^KR     Users baud rate
  263. 11 84   ^KT     Downloadlimit in KBytes
  264.  
  265. The ^R codes available (RAFF only):
  266.  
  267. ASCII   Char.   Function description
  268. ------- ------- -------------------------------------------------------------
  269. 18 65   ^RA     Key for Menu Item "Area Access"
  270. 18 66   ^RB     Key for Menu Item "Back"
  271. 18 66   ^RC     Key for Menu Item "Change"
  272. 18 68   ^RD     Key for Menu Item "Date"
  273. 18 70   ^RF     Key for Menu Item "Filename"
  274. 18 71   ^RG     Indicates global mode, replaced by literal "all" at runtime
  275. 18 72   ^RH     Key for Menu Item "Help"
  276. 18 75   ^RK     Key for Menu Item "Keyword"
  277. 18 76   ^RL     Indicates local mode, replaced by literal "this" at runtime
  278. 18 78   ^RN     Key for Menu Item "New Files"
  279.  
  280. The ^F codes available:
  281.  
  282. ASCII   Char.   Function description
  283. ------- ------- -------------------------------------------------------------
  284. 06 65   ^FA     Users full name
  285. 06 65   ^FB     Users city and state
  286. 06 70   ^FF     Users last calling date (MM-DD-YY)
  287. 06 79   ^FO     Users security level
  288. 06 80   ^FP     Users number of calls
  289. 06 81   ^FQ     Users uploads in files
  290. 06 82   ^FR     Users uploads in KBytes
  291. 06 83   ^FS     Users downloads in files
  292. 06 84   ^FT     Users downloads in KBytes
  293. 06 85   ^FU     Elapsed time this call in minutes
  294. 06 87   ^FW     Users firstname
  295. 06 55   ^F7     Users up/download ratio in KBytes
  296. 06 56   ^F8     Users up/download ratio in files
  297.  
  298.  
  299.  
  300. ┌────────────────────────────────────────────────────────────────────────────┐
  301. │                                Inside RAFF                                 │
  302. └────────────────────────────────────────────────────────────────────────────┘
  303.  
  304. RAFF was  written in  QuickBASIC v4.5,  so I  should not  let you  look behind
  305. RAFF, but  for better  understanding I  give you  some additional informations
  306. how RAFF works.
  307.  
  308. All informations are  retrieved from existing  files, no files  are changed or
  309. updated. After  calling, RAFF  reads "CONFIG.RA"  (SBBS: "CONFIG.BBS")  to get
  310. the system informations  such as defined  colours, systempaths, listpaths  and
  311. "EXITINFO.BBS" of the active node to get informations about the current  user,
  312. his setting and  restrictions. After the  user made his  selection, "FILES.RA"
  313. (SBBS: "FLSEARCH.BBS") will be read to determine the name and the path of  the
  314. current/all  filearea.  If  the  area  matches  the  user  profile, processing
  315. continues. If not, this area is skipped. Then RAFF is looking for  "FILES.BBS"
  316. of the filearea. If  unsuccessful, RAFF assume a  CDROM and will be  searching
  317. in  the  common  listpath  for  "FILES.nnn",  where  nnn  is the number of the
  318. current  filearea.  If  there  was  no  "FILES.nnn"  found,  the  area will be
  319. skipped.
  320.  
  321. Notes  on  searching  for  filenames  (non-CDROM-areas  only):  Prior  to read
  322. "FILES.BBS"   RAFF   will   first   scan   the   directory   for   the   given
  323. filespecification.  This  is  quite  faster  than  looking in "FILES.BBS".  If
  324. there  are  matching  files  found,  processing  continues  with  "FILES.BBS".
  325. Otherwise RAFF will be move over to the next possible area.
  326.  
  327. Notes on searching by  keywords: In this mode  it is not possible  to read the
  328. directory first, so  this method will  be slightly slow  and should not  often
  329. used on hudge fileareas. I try to speed it up in an upcoming release of RAFF.
  330.  
  331. Notes on  searching by  date/newfiles: The  first way  is to  examine the date
  332. when "FILES.BBS" was last  updated. If the date  is before the date  specified
  333. by  the  date/newfiles  option  there  could  not  be  new files in this area.
  334. Remember that this only works if  "FILES.BBS" is not altered in any  way (i.e.
  335. sorted)  during  your  daily  household  event  or  by  updating  the download
  336. counters. Not  reliable, but  a way  to determine  new files  in fileareas. If
  337. this check failed,  all entries in  the directory are  compared with the  date
  338. specified by the date/newfiles option. All entries are collect in a table  for
  339. later processing so that RAFF must not read the directory again. At least  one
  340. entry should be in  the table at this  time: It is "FILES.BBS".  The table can
  341. hold  a  maximum  of  1000  enries,  that  should be enough. On CDROM areas in
  342. conjunction with a EFT styled "FILES.nnn" the directory of the CDROM will  not
  343. be accessed since all informations can be retrieved from "FILES.nnn".
  344.  
  345. RAFF  was  developed  and  runs  successful  under  MS-DOS v5.00d, X00 v1.20ß,
  346. SuperBBS v1.16 beta-4 and EFT v1.23ß.
  347.  
  348.  
  349.  
  350. ┌────────────────────────────────────────────────────────────────────────────┐
  351. │                             Acknowlegements                                │
  352. └────────────────────────────────────────────────────────────────────────────┘
  353.  
  354.  RAFF is written in Microsoft's QuickBASIC v4.5.
  355.  
  356.  The directory access procedures are linked from the PBClone library.
  357.  
  358.  The FOSSIL is called using the QBX00 procedure, taken from the X00 package.
  359.  
  360.  Special thanks to Mike of "The Wizards  Inn II" who got the idea of  the file
  361.  lister and made the first successful tests on a RA multiline environment.
  362.  
  363.  
  364.  
  365. ┌────────────────────────────────────────────────────────────────────────────┐
  366. │                              Error Messages                                │
  367. └────────────────────────────────────────────────────────────────────────────┘
  368.  
  369. A disadvantage of  QuickBASIC is the  circumstance that in  case of a  runtime
  370. error the system displays the errormessage, the adress -and- is waiting for  a
  371. keystroke  on  the   local  site.  This   is  very  unuseful   for  unattended
  372. applications  such  as  a  BBS  door.  For  this  reason  I replaced the error
  373. messages  by  an  own  handling  procedure.  This  procedure only displays the
  374. errorcode  and  terminates  the  program  (returns  to the BBS). The following
  375. chart is a short but complete  summary of all possible error codes.  Note that
  376. you should never  see some codes  like "Syntax error"  or "Out of  paper" from
  377. this application...
  378.  
  379. If  you  are  able  to  repeat  the  error condition, call RAFF again with the
  380. "/D"-switch on  the commandline.  This activates  QuickBASIC's internal  error
  381. handling and give you more informations  about the error and the adress  where
  382. it happend.
  383.  
  384.  
  385.     Code    Description
  386.     ------- -------------------------------------------------------
  387.      2      Syntax Error
  388.      3      RETURN without GOSUB
  389.      4      Out of data
  390.      5      Illegal function call
  391.      6      Overflow
  392.      7      Out of memory
  393.      9      Sunscript out of range
  394.     10      Duplicate definition
  395.     11      Division by zero
  396.     13      Type mismatch
  397.     14      Out of string space
  398.     15      String too long
  399.     16      String formula too complex
  400.     19      No RESUME
  401.     20      RESUME without error
  402.     24      Device timeout
  403.     25      Device fault
  404.     27      Out of paper
  405.     50      FIELD overflow
  406.     51      Internal Error
  407.     52      Bad file number
  408.     53      File not found
  409.     54      Bad file mode
  410.     55      File already open
  411.     57      Device I/O-Error
  412.     58      File already exist
  413.     61      Disk full
  414.     62      Input past end
  415.     63      Bad record number
  416.     64      Bad file name
  417.     67      Too many files
  418.     68      Device anavailable
  419.     69      Communication buffer overflow
  420.     70      Disk write protect
  421.     71      Disk not ready
  422.     72      Disk media error
  423.     74      Rename across disk
  424.     75      Path/File access error
  425.     76      Path not found
  426.  
  427.  
  428.  
  429. ┌────────────────────────────────────────────────────────────────────────────┐
  430. │                         Trademarks and Copyrights                          │
  431. └────────────────────────────────────────────────────────────────────────────┘
  432.  
  433.  Product:                       Copyright of:
  434.  ------------------------------ ---------------------------------------------
  435.  EFT - Enhanced Filetransfer    Michael Raus II
  436.  MS-DOS                         Microsoft Corporation
  437.  PBClone                        Thomas G. Hanlin III
  438.  Remote Access                  Andrew Milner, Continental Software
  439.  SuperBBS                       Aki Antman & Risto Virkkala
  440.  X00                            Raymond L. Gwinn
  441.  
  442.  
  443.  
  444. ┌────────────────────────────────────────────────────────────────────────────┐
  445. │                             History Revision                               │
  446. └────────────────────────────────────────────────────────────────────────────┘
  447.  
  448. Date            Ver.    Changes since last release
  449. --------------- ------- -----------------------------------------------------
  450. 15.06.92    v1.06    ■ Areapath  did   not  match  (and   no  files    were
  451.               displayed) after a user changed the filearea if  the
  452.               areapath was defined  in lower-/mixed case  letters.
  453.               Fixed it  today, areapath  will now  be translate to
  454.               uppercase before comparing.
  455.  
  456.             ■ Changed the literal "XferTime" to "Time"
  457.  
  458.             ■ Allow  processing  of  security  level  >  32000 (RA
  459.               only). Note  that the  level in  SBBS is  limited to
  460.               32500.
  461.  
  462.             ■ Searching  now for  "FILES.RA" (SBBS:  FLSEARCH.BBS)
  463.               first in  the current  directory. If  search failed,
  464.               "FILES.RA"  is  assumed  to  be  in  the system path
  465.               (defined with RA/SBBS environment variable).
  466.  
  467.             ■ Item  "C" (change  filearea): A  single <Return>  is
  468.               now  accepted  as  a  valid  input.  In this case, a
  469.               previous selected area will remain unchanged.
  470.  
  471.             ■ Detecting  now  the  installed   graphic  card   and
  472.               switches to:  25 lines  for MDA/HGC/CGA  adapter, 43
  473.               lines  for  EGA  adapter  and  50 lines for MCGA/VGA
  474.               adapter. Since I could not test it with all  display
  475.               types, I hope it will work. Note that the length  of
  476.               the logical page is depending on users setting.
  477.  
  478. 08.06.92    v1.05    ■ Displayed  occasionely  a  negative  value  for  the
  479.               remaining timer after invoking RAFF (RA mode  only).
  480.               Reason  was  an  error  in the calculation procedure
  481.               due to a rounded field, fixed this error today.
  482.  
  483.             ■ UpK/DownK > 32M was not correct displayed in the
  484.               statusline, fixed the problem.
  485.  
  486.             ■ Extended  the  operand  of  the  /S-switch  to   two
  487.               characters.
  488.               The pipe symbol  (|) has a  special function and  is
  489.               only  valid  as  the  second  key:  It  simulates  a
  490.               <Return>  and   works  only   with  menu   type  "F"
  491.               (searching for filenames). This combination  enables
  492.               an automatic display of all files at startup time.
  493.  
  494. 05.06.92    v1.04    ■ Displayed wrong connection speed (always 0) in the
  495.               statusline, corrected.
  496.  
  497.             ■ Changed controlcode ^KO: The remaining time will  be
  498.               displayed as  an absolute  value, even  if the value
  499.               is  negative  (occured  sometime  in  local   mode).
  500.               Trailing and leading spaces are stripped away.
  501.  
  502. 22.05.92    v1.03    ■ Included now an own ANSI emulation driver.
  503.  
  504.             ■ RAFF runs  now in a  window. Take care  off animated
  505.               ANSI files. An attempt  to locate a position  on the
  506.               screen  below  line  23  will  result into a runtime
  507.               error. Line 24  will be reseved  now for the  status
  508.               line (see below).
  509.  
  510.             ■ For nasty sysops, a statusline will now be shown at
  511.               line 24 of the local screen.
  512.  
  513. 10.05.92        v1.02   ■ Correct  a problem,  if long  file  descriptions
  514.               could not be wrapped.
  515.  
  516.             ■ New  switch  /T:  Adds  the estimated transfer  time
  517.               for  a  download,  depending  on  users   connection
  518.               speed.  An   efficiency  of   98%  is   assumed   in
  519.               calculation.  Note  that  the  previous usage of the
  520.               /T-switch  (timer  function)  is  now covered by the
  521.               /D-switch.
  522.  
  523.  
  524. 10.04.92        v1.01   ■ Fixed  bug  in  calculation behind  controlcode ^KO.
  525.               The   remaining   time   should   now  be  displayed
  526.               correctly (RA only).
  527.  
  528.             ■ If a user aborted the output just between two  lines
  529.               of the  filedescription and  the first  file of  the
  530.               next filearea  does not  exist, the  filedescription
  531.               of the file was displayed. Fixed this bug today.
  532.  
  533.             ■ Included  15  new  ^F  controlcodes  and  2  new  ^K
  534.               controlcodes.  Refer   section  "Supported   Control
  535.               Codes" in this documentation for details of them.
  536.  
  537. 31.03.92        v1.00   ■ First public release of RAFF
  538.  
  539.  
  540.  
  541. ┌────────────────────────────────────────────────────────────────────────────┐
  542. │                          Disclaimer and Warranty                           │
  543. └────────────────────────────────────────────────────────────────────────────┘
  544.  
  545. THIS PROGRAM IS LICENSED  "AS IS", NO WARRANTY  IS GIVEN OR IMPLIED.  IN USING
  546. THE PROGRAM YOU AGREE  THAT THE AUTHORS WILL  NOT BE HELD RESPONSIBLE  FOR ANY
  547. DAMAGE OR LOSS OF  DATA CAUSED DIRECTLY OR  INDIRECTLY BY THE USE  (OR MISUSE)
  548. OF RAFF.
  549.  
  550. I  make  no  warranty  of  any  kind,  express  or  implied, including without
  551. limitation, any warranties of merchantability and/or fitness for a  particular
  552. purpose. I  shall not  be liable  for any  damages, whether  direct, indirect,
  553. special or consequential arising from a failure of this program to operate  in
  554. the manner desired by the user. I  shall not be liable for any damage  to data
  555. or property which may be caused directly or indirectly by use of the program.
  556.  
  557. RAFF IS FREEWARE: I  hereby declare the whole  material as public domain  (the
  558. copyright is still  with me!), no  charge or fee  maybe given to  me or anyone
  559. else for this application. Use it on  your own risk so long as you  want. Give
  560. it away to everyone who need it.
  561.  
  562.  
  563.                *** END OF DOCUMENT ***
  564.